// pages/profile/profile.js
import {
  userBehavior
} from "./behavior"
import {
  setStorage,
  getStorage
} from "../../../../utils/storage"
import {
  reqUploadFile,
  reqUpdateUserInfo
} from "@/api/user"
import {
  toast
} from "../../../../utils/extendApi"
Page({
  behaviors: [userBehavior],

  // 页面的初始数据
  data: {
    isShowPopup: false // 控制更新用户昵称的弹框显示与否
  },

  //更新用户头像
  async chooseAvatar(event) {
    //获取头像临时路径
    const {
      avatarUrl
    } = event.detail
    const res = await reqUploadFile(avatarUrl, "file")
    // console.log(res)
    this.setData({
      "userInfo.headimgurl": res.data
    })
    // wx.uploadFile({
    //   url: "https://gmall-prod.atguigu.cn/mall-api/fileUpload",
    //   filePath: avatarUrl, //要上传的文件资源路径
    //   name: "file", //
    //   header: {
    //     token: getStorage("token")
    //   },
    //   success: (res) => {
    //     const uploadRes = JSON.parse(res.data)
    //     this.setData({
    //       "userInfo.headimgurl": uploadRes.data
    //     })
    //   }
    // })

  },
  //更新用户信息
  async updateUserInfo() {
    //调用接口api函数更新用户信息
    const res = await reqUpdateUserInfo(this.data.userInfo)
    if (res.code === 200) {
      //用户信息更新成功以后，将最新的用户信息存储到本地
      setStorage("userInfo", this.data.userInfo)
      //用户信息更新成功以后，同时同步到store
      this.setUserInfo(this.data.userInfo)
      //给用户进行提示
      toast({
        title: "用户信息更新成功"
      })
    }
  },
  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true,
      "userInfo.nickname": this.data.userInfo.nickname
    })
  },
  //获取用户昵称
  getNickName(event) {
    const {
      nickname
    } = event.detail.value
    //console.log(nickname)
    this.setData({
      "userInfo.nickname": nickname,
      isShowPopup: false
    })
  },
  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false
    })
  }
})